package com.yuzhi.common.encrypt;


import com.yuzhi.common.enums.AlgorithmTypeEnum;
import com.yuzhi.common.enums.EncodeTypeEnum;

/**
 * @Description: 加解者
 * @Author: sunshine
 * @Date: 2024-03-07
 */
public interface IEncryptor {

    /**
     * 获得当前算法
     */
    AlgorithmTypeEnum algorithm();

    /**
     * 加密
     *
     * @param value      待加密字符串
     * @param encodeType 加密后的编码格式
     * @return 加密后的字符串
     */
    String encrypt(String value, EncodeTypeEnum encodeType);

    /**
     * 解密
     *
     * @param value      待加密字符串
     * @return 解密后的字符串
     */
    String decrypt(String value);
}
